#define  _CRT_SECURE_NO_WARNINGS 1
// #include <iostream>
//#include <map>
//
//using namespace std;
//typedef long long ll;
//map<string, int>mp;
//int n, p;
//
//bool check(char ch)
//{
//	if((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
//		return true;
//	else
//	    return false;
//		    
//}
//int main()
//{
//	
//	cin >> n >> p;
//	string s;
//	int x;
//	for(int i = 1; i <= n; i++)
//	{
//		cin >> s >> x;
//		mp[s] = x;
//	}
//	
//	ll ret = 0;
//	char ch;
//	string t = "";
//	while(scanf("%c", &ch) != EOF)
//	{
//		if (check(ch))
//		    t += ch;
//		else
//		{
//			ret += mp[t];
//			t = "";
//		}
//		   
//	}
//	cout << ret % p << endl;
//	
//	return 0;
//}

//#include <iostream>
//#include <set>
//#include <map>
//
//const int INF = 1e7+10;
//using namespace std;
//int n;
//set<int>mp;
//int main()
//{
//	cin >> n;
//	int p;
//	cin >> p;
//	mp.insert(p);
//	
//	mp.insert(-INF);
//	mp.insert(INF);
//	for(int i = 2; i <= n; i++)
//	{
//		int x;
//		cin >> x;
//		
//		auto it = mp.lower_bound(x);
//		auto tmp = it;
//		tmp--;
//		if(*it == x)
//		   continue;
//		 p += min(abs(*tmp - x), abs(*it - x));
//		 mp.insert(x);
//		   
//	}
//	cout << p << endl;
//	return 0;
//}



